Part Number Hot Search : 
NCP5183 25NF10 AE10737 MPC860EN 25NF10 057R2 PQ160 PJQ5472A
Product Description
Full Text Search
 

To Download ML60851D Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
  pedl60851d-01 1 semiconductor this version: jan. 2000 ML60851D preliminary usb device controller 1/82 general description the ML60851D is a general purpose universal serial bus (usb) device controller. the ML60851D provides a usb interface, control/status block, application interface, and fifos. the fifo interface and two types of transfer have been optimized for bulkout devices such as printers and bulkin devices such as digital still cameras and image scanners. in addition, mass storage devices are also applicable to this device. features ? usb 1.1 compliant ? built-in usb transceiver circuit ? full-speed (12 mb/sec) support ? supports printer device class, image device class, and mass storage device class ? supports three types of transfer; control transfer, bulk transfer, and interrupt transfer ? built-in fifos for control transfer two 8-byte fifos (one for receive fifo and the other for transmit fifo) ? built-in fifos for bulk transfer (available for either receive fifo or transmit fifo) one 64-byte fifo two 64-byte fifos ? built-in fifo for interrupt transfer one 8-byte fifo ? supports one control endpoint, two bulk endpoint addresses, and one interrupt endpoint address ? two 64-byte fifos enable fast bulkout transfer and bulkin transfer ? supports 8 bit/16 bit dma transfer ? supports protocol stall ? v cc is 3.0 v to 3.6 v ? supporting dual power supply enables 5 v application interface ? built-in 48 mhz oscillator circuit ? package options: 44-pin plastic qfp (qfp44-p-910-0.80-2k) (product name: ML60851Dga) 44-pin plastic tqfp (tqfp44-p-1010-0.80-k) (product name: ML60851Dtb)
pedl60851d-01 1 semiconductor ML60851D 2/82 block diagram 48 mhz xin xout d+ d- usb bus oscillator usb transceiver dpll protocol engine status/control endpoint fifo/ 8-byte setup register application interface application module (local mcu) a7:a0 d15:d0 cs , wr , rd reset intr dreq dack ML60851D
pedl60851d-01 1 semiconductor ML60851D 3/82 pin configuration (top view) 1 2 3 4 5 6 7 8 9 10 11 23 24 25 26 27 28 29 30 31 32 33 d+ d- v cc3 test1 test2 xin xout cs rd wr reset intr d15 d14 d13 d12 gnd v cc5 d11 d10 d9 d8 ale adsel a7 a6 a5 a4 a3 a2 a1 a0 dack dreq ad7 ad6 ad5 ad4 gnd v cc5 ad3 ad2 ad1 ad0 44 43 42 41 40 39 38 37 36 35 34 12 13 14 15 16 17 18 19 20 21 22 44-pin plastic qfp 1 2 3 4 5 6 7 8 9 10 11 23 24 25 26 27 28 29 30 31 32 33 d+ d- v cc3 test1 test2 xin xout cs rd wr reset intr d15 d14 d13 d12 v ss v cc5 d11 d10 d9 d8 ale adsel a7 a6 a5 a4 a3 a2 a1 a0 dack dreq ad7 ad6 ad5 ad4 v ss v cc5 ad3 ad2 ad1 ad0 44 43 42 41 40 39 38 37 36 35 34 12 13 14 15 16 17 18 19 20 21 22 44-pin plastic tqfp
pedl60851d-01 1 semiconductor ML60851D 4/82 pin description pin symbol type description 1,2 d+, d- i/o usb data 6, 7 xin, xout ? pins for external crystal oscillator 4, 5 test14, 2 i test pins (normally ?l?) 13 to 16, 19 to 22 d15 to d18 i/o data bus (msb) 35 to 38, 41 to 44 ad7 to ad0 i/o data bus (lsb)/address inputs 25 to 32 a7 to a0 i address inputs 8 cs i chip select signal input pin. low active 9 rd i read signal input pin. low active 10 wr i write signal input pin. low active 12 intr o interrupt request signal output pin 34 dreq o dma request output pin 33 dack i dma acknowledge signal input pin 23 ale i address latch enable signal input pin 24 adsel i address input mode select input pin. ?h?: address/data multiplex 11 reset i system reset signal input pin. low active.
pedl60851d-01 1 semiconductor ML60851D 5/82 internal registers addresses and names of registers addresses register page a5:a0 read a7, a6 write a7, a6 symbol register name 00h 01b ? ep0rxfifo endpoint 0 receive fifo data 7 01h 01b ? ep1rxfifo endpoint 1 receive fifo data 7 02h 01b ? ep2rxfifo endpoint 2 receive fifo data 8 03h 01b ? reserved 00h ? 11b ep0txfifo endpoint 0 transmit fifo data 9 01h ? 11b ep1txfifo endpoint 1 transmit fifo data 9 02h ? 11b ep2txfifo endpoint 2 transmit fifo data 10 03h ? 11b ep3txfifo endpoint 3 transmit fifo data 10 00h 11b 01b dvcadr device address register 11 01h 11b 01b dvcstat device status register 11 02h 11b ? pkterr packet error register 13 03h 11b ? fifostat1 fifo status register 1 13 04h 11b ? fifostat2 fifo status register 2 14 08h 11b 01b pktrdy endpoint packet-ready register 15 09h 11b ? ep0rxcnt endpoint 0 receive-byte count register 19 0ah 11b ? ep1rxcnt endpoint 1 receive-byte count register 19 0bh 11b ? ep2rxcnt endpoint 2 receive-byte count register 20 0ch 11b ? reserved 0dh 11b ? revision revision register 21 0eh ? 01b clrfifo transmit fifo clear register 21 0fh ? 01b syscon system control register 22 10h 11b ? bmrequest type bmrequest type setup register 23 11h 11b ? brequest brequest setup register 23 12h 11b ? wvalue lsb wvalue lsb setup register 24 13h 11b ? wvalue msb wvalue msb setup register 24 14h 11b ? windex lsb windex lsb setup register 24 15h 11b ? windex msb windex msb setup register 24 16h 11b ? wlength lsb wlength lsb setup register 25 17h 11b ? wlength msb wlength msb setup register 25 1ah 11b 01b polsel assertion select register 26 1bh 11b 01b intenbl interrupt enable register 27 1ch 11b ? intstat interrupt status register 28 1dh 11b 01b dmacon dma control register 30 1eh 11b 01b dmaintvl dma interval register 31 1fh ? ? reserved
pedl60851d-01 1 semiconductor ML60851D 6/82 addresses and names of registers (continued) addresses symbol register name page 20h 11b ? ep0rxcon endpoint 0 receive control register 32 21h 11b ? ep0rxtgl endpoint 0 receive data toggle register 32 22h 11b 01b ep0rxpld endpoint 0 receive payload register 33 23h ? ? reserved 24h 11b 01b ep1con endpoint 1 control register 34 25h 11b 01b ep1tgl endpoint 1 data toggle register 35 26h 11b 01b ep1pld endpoint 1 payload register 35 27h ? ? reserved 28h ? ? reserved 29h ? ? reserved 2ah ? ? reserved 2bh ? ? reserved 2ch ? ? reserved 2dh ? ? reserved 2eh ? ? reserved 2fh ? ? reserved 30h 11b ? ep0txcon endpoint 0 transmit control register 36 31h 11b ? ep0txtgl endpoint 0 transmit data toggle register 36 32h 11b 01b ep0txpld endpoint 0 transmit payload register 37 33h 11b 01b ep0stat endpoint 0 status register 38 34h 11b 01b ep2con endpoint 2 control register 40 35h 11b 01b ep2tgl endpoint 2 data toggle register 41 36h 11b 01b ep2pld endpoint 2 payload register 41 37h ? ? reserved 38h 11b 01b ep3con endpoint 3 control register 42 39h 11b 01b ep3tgl endpoint 3 data toggle register 43 3ah 11b 01b ep3pld endpoint 3 payload register 43 3bh ? ? reserved 3ch ? ? reserved 3dh ? ? reserved 3eh ? ? reserved 3fh ? ? reserved
pedl60851d-01 1 semiconductor ML60851D 7/82 functions of registers end point 0 receive fifo (ep0rxfifo) read address 40h write address - d7 d6 d5 d4 d3 d2 d1 d0 after a hardware resetxxxxxxxx after a bus reset xxxxxxxx definition ep0 receive data (r) the receive data from the host computer in the data state during a control write transfer is stored in ep0rxfifo. the ep0 receive data can be read out by the local mpu through reading the address 40h when the ML60851D issues an ep0 receive packet ready interrupt request. it is possible to read successively the data in the packet by reading continuously. the ep2rxfifo is cleared under the following conditions: 1. when the local mpu resets the ep0 receive packet ready bit (a ?1? is written in pktrdy(0)). 2. when a setup packet is received. 3. when the local mcu writes a ?0? in the stall bit (ep0stat(2)). end point 1 receive fifo (ep1rxfifo) read address 41h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware resetxxxxxxxx after a bus reset xxxxxxxx definition ep1 receive data (r) it is possible to read out the ep1 receive data by reading the address 41h. when ep1 is set for bulk reception (bulk out), the local mcu should read ep1rxfifo when the ML60851D issues an ep2 packet ready interrupt request. it is possible to read successively the data in the packet by reading continuously. when the data transfer direction of ep1 is set as ?transmit?, all accesses to this address will be invalid. the ep1rxfifo is cleared under the following conditions: 1. when an out token is received for ep1. 2. when the ep1 receive packet ready bit is reset. (a ?1? is written in pktrdy(1).) 3. when the local mcu writes a ?0? in the stall bit (ep1con(1)). even when a dma read with a 16-bit width is made from ep1rxfifo, the address is a7:a0 = 41h.
pedl60851d-01 1 semiconductor ML60851D 8/82 end point 2 receive fifo (ep2rxfifo) read address 42h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware resetxxxxxxxx after a bus reset xxxxxxxx definition ep2 receive data (r) it is possible to read out the ep2 receive data by reading the address 42h. when ep2 is set for bulk reception (bulk out), the local mcu should read ep2rxfifo when the ML60851D issues an ep2 packet ready interrupt request. it is possible to read successively the data in the packet by reading continuously. when the data transfer direction of ep2 is set as ?transmit?, all accesses to this address will be invalid. the ep2rxfifo is cleared under the following conditions: 1. when an out token is received for ep2. 2. when the ep2 receive packet ready bit is reset. (a ?1? is written in pktrdy(2).) 3. when the local mcu writes a ?0? in the stall bit (ep2con(1)).
pedl60851d-01 1 semiconductor ML60851D 9/82 end point 0 transmit fifo (ep0txfifo) read address ? write address c0h d7 d6 d5 d4 d3 d2 d1 d0 after a hardware resetxxxxxxxx after a bus reset xxxxxxxx definition ep0 transmit data (w) the ep0 transmit data can be written in by writing to the address c0h. the receive data from the host in the data stage during a control read transfer is stored in ep0txfifo. when the ML60851D issues an ep0 transmit packet ready interrupt request, the local mcu writes the transmit data to the address c0h. it is possible to write the packet data successively by writing continuously. the ep0 txfifo is cleared under the following conditions: 1. when an ack is received from the host for the data transmission from ep0. 2. when a setup packet is received. end point 1 transmit fifo (ep1txfifo) read address ? write address c1h d7 d6 d5 d4 d3 d2 d1 d0 after a hardware resetxxxxxxxx after a bus reset xxxxxxxx definition ep1 transmit data (w) the ep1 transmit data can be written in by writing to the address c1h. when ep1 has been set for bulk transmission (bulk in), the local mcu should write the transmit data in ep1txfifo when the ML60851D issues an ep1 packet ready interrupt request. it is possible to write the packet data successively by writing continuously. when the data transfer direction of ep1 is set as ?receive?, all accesses to this address will be invalid. the ep1 transmit fifo is cleared under the following conditions: 1. when an ack is received from the host for the data transmission from ep1. 2. when the local mcu writes a ?1? in the ep1fifo clear bit (clrfifo(1)). even when a dma write with a 16-bit width is made in ep1txfifo, the address is a7:a0 = 41h.
pedl60851d-01 1 semiconductor ML60851D 10/82 end point 2 transmit fifo (ep2txfifo) read address ? write address c2h d7 d6 d5 d4 d3 d2 d1 d0 after a hardware resetxxxxxxxx after a bus reset xxxxxxxx definition ep2 transmit data (w) the ep2 transmit data can be written in by writing to the address c2h. when ep2 has been set for bulk transmission (bulk in), the local mcu should write the transmit data in ep1txfifo when the ML60851D issues an ep2 packet ready interrupt request. it is possible to write the packet data successively by writing continuously. when the data transfer direction of ep2 is set as ?receive?, all accesses to this address will be invalid. the ep2 txfifo is cleared under the following conditions: 1. when an ack is received from the host for the data transmission from ep2. 2. when the local mcu writes a ?1? in the ep2fifo clear bit (clrfifo(2)). end point 3 transmit fifo (ep3txfifo) read address ? write address c3h d7 d6 d5 d4 d3 d2 d1 d0 after a hardware resetxxxxxxxx after a bus reset xxxxxxxx definition ep3 transmit data (w) the ep3 transmit data can be written in by writing to the address c3h. make the local mcu write the transmit data in ep3txfifo when the ML60851D issues an ep3 packet ready interrupt request. it is possible to write the packet data successively by writing continuously. the ep3 txfifo is cleared under the following conditions: 1. when an ack is received from the host for the data transmission from ep3. 2. when the local mcu writes a ?1? in the ep3fifo clear bit (clrfifo(3)).
pedl60851d-01 1 semiconductor ML60851D 11/82 device address register (dvcadr) read address c0h write address 40h d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000000 definition device address (r/w) the local mcu writes in this register the device address given by the set_address command from the host. thereafter, the ML60851D responds only to the token specifying this address among all the tokens from the host computer. the default value is the address d6:d0 = 00h. note 1: it is possible to carry out addressing using a 7-bit address because up to 127 devices can be connected according to the usb standard. note 2: the bit d7 is fixed at ?0?, and even if a ?1? is written in the bit d7, it will be invalid. device state register (dvcstat) read address c1h write address 41h d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000001 after a bus reset 00000001 definition 0 0 this is a register for displaying the status of the device. the functions of the different bits are described below: the bits d7 and d6 are fixed at ?0? and even if a ?1? is written in these bits, the write operation will be invalid. default state: this bit is asserted in the initial state. the default state is valid from the time the power is switched on and the hardware resetting is complete. there is no need to write a ?0? in this bit. address state: when a set_address request arrives, the local mcu writes the device address in the device address register. if necessary, by writing a ?1? in this bit also at that time, it is possible to give an indication that the ML60851D has entered the address state. since the content of this bit does not affect the operation of the ML60851D, there is no need to write in this bit if it will not be read out. default state (r/w) address state (r/w) configuration state (r/w) suspend state (r) remote wake-up (r/w) usb bus reset status clear (w)
pedl60851d-01 1 semiconductor ML60851D 12/82 configuration state: when the local mpu asserts the configuration bits ep1con, ep2con, or ep3con in response to a set_configuration request from the host computer when this ic is in the address state, by writing a ?1? in this bit also, if necessary, at that time, it is possible to give an indication that the ML60851D has entered the configuration state. since the content of this bit does not affect the operation of the ML60851D, there is no need to write in this bit if it will not be read out. remarks: when all these three states are ?1?, it means that this ic is normally operating. however, since these bits do not affect the operation of the ML60851D, there is no need to write in these bits if they will not be read out. suspend state: when the idle condition continues for more than 3ms in the usb bus, the ML60851D automatically asserts this bit thereby indicating that it is going into the suspend state. at the same time, bit d6 of the interrupt status register intstat is asserted and the intr pin is asserted. with this, the local mcu can suppress the current consumption. this bit is deasserted when the eop of any type of packet is received. remote wake-up: the ML60851D is in the suspend state, the remote wake-up function is activated when the local mcu asserts this bit. when this bit is written while 5ms have not yet elapsed in the idle condition, the remote wake-up signal is output after waiting for the idle condition to continue for the full 5ms period. further, when this bit is written after the idle condition has persisted for 5ms or more, the remote wake-up signal is output immediately after this bit is written. this bit is deasserted automatically when the suspend state is released by receiving the resume instruction over the usb bus. usb bus reset status clear: when the ML60851D is in the usb bus reset interrupt state (bit d5 of the interrupt status register, that is the usb bus reset interrupt status bit is ?1? and the intr pin is asserted), it is possible to clear the interrupt status by writing a ?1? in this bit. (this makes the usb bus reset interrupt status bit ?0? and deassertes intr .) although this bit can be read out, the read out value will always be ?0?.
pedl60851d-01 1 semiconductor ML60851D 13/82 packet error register (pkterr) read address c2h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000000 definition 0 0 00 each bit is asserted when the corresponding error occurs and is deasserted when sop is received. this register is used to report the error information. this register is useful for the tests during development, or for preparing the error frequency measurement report. this register is not particularly required for the specification of commercial a product. fifo status register 1 (fifostat1) read address c3h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00001010 after a bus reset 00001010 definition 0 0 00 this register reports the statuses of the ep0rxfifo and the fifo for ep1. normally, there is no need to read this register because it is sufficient to read the packet ready status before reading out or writing in a fifo. receive fifo0 full: this bit becomes ?1? when 8-bytes of data are stored in the ep0rxfifo. this bit is not set to ?1? when a packet less than 8 bytes long (a short packet) is stored in. receive fifo0 empty: this bit will be ?1? when the ep0rxfifo0 is empty. fifo1 full: this bit becomes ?1? when 64 bytes of data is stored in the fifo for ep1. this is true during both transmission and reception. this bit does not become ?1? in the case of a short packet. the fifo for ep1 has a two-layer structure and can store up to 128 bytes of data. this bit indicates the status of the fifo in which data being written at that time. in other words, this bit indicates the status of the fifo into which the host computer is writing data when ep1 is receiving data, and of the fifo into which the local mcu is writing data when ep1 is transmitting data. fifo1 empty: this bit becomes ?1? when the fifo for ep1 is empty. this is true during both transmission and reception. the fifo for ep1 has a two-layer structure and can store up to 128 bytes of data. this bit indicates the status of the fifo which is being read out at that time. bit stuff error (r) data crc error (r) address crc error (r) pid error (r) receive fifo0 full (r) receive fifo0 empty (r) fifo1 full (r) fifo1 empty (r)
pedl60851d-01 1 semiconductor ML60851D 14/82 fifo0 status register 2 (fifostat2) read address c4h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00101010 after a bus reset 00101010 definition 0 0 this register reports the statuses of the ep0txfifo, the fifo for ep2, and the fifo for ep3. normally, there is no need to read this register because it is sufficient to read the packet ready status before reading out or writing in a fifo. transmit fifo0 full: this bit becomes ?1? when 8-bytes of data is stored in the ep0txfifo. this bit is not set to ?1? when a packet less than 8 bytes (a short packet) is written in. transmit fifo0 empty: this bit will be ?1? when the ep0 transmit fifo0 is empty. fifo2 full: this bit becomes ?1? when 64 bytes of data is either stored or written in the fifo for ep2. this bit does not become ?1? in the case of a short packet. fifo2 empty: this bit becomes ?1? when the fifo of ep2 is empty. fifo3 full: this bit becomes ?1? when 64 bytes are written in the fifo for ep3. this bit does not become ?1? in the case of a short packet. fifo3 empty: this bit becomes ?1? when the fifo for ep3 is empty. transmit fifo0 full (r) transmit fifo0 empty (r) fifo2 full (r) fifo2 empty (r) fifo3 full (r) fifo3 empty (r)
pedl60851d-01 1 semiconductor ML60851D 15/82 end point packet ready register (pktrdy) this register indicates whether or not the preparations for reading out or writing in a packet data have been completed. in addition, this register is also used for controlling the handshake packet (ack/nak) read address c8h write address 48h d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000000 definition 0 this is the register for indicating that the local mcu can request a read/write of the fifo for each ep. the logical sums (and) of each of these bits and the corresponding bits of intenbl become the bits of intstat. the ML60851D asserts a receive packet ready bit (set to ?0?) and generates an interrupt cause. the local mcu resets the receive packet ready bit after completion of the interrupt servicing (such as taking out data from the corresponding receive fifo, etc.,). the ML60851D deasserts a transmit packet ready bit and generates an interrupt cause. the local mcu sets the receive packet ready bit after completion of the interrupt servicing (such as writing data in the corresponding transmit fifo, etc.,). the bit d3 is fixed at ?0?, and even if a ?1? is written in this bit, that write operation will be invalid. the operations of the different bits of pktrdy are described in detail below. ep0 receive packet ready (r/reset) ep1 receive packet ready (r/reset) ep2 receive packet ready (r/reset) ep0 transmit packet ready (r/set) ep1 transmit packet ready (r/set) ep2 transmit packet ready (r/set) ep3 transmit packet ready (r/set)
pedl60851d-01 1 semiconductor ML60851D 16/82 ep0 receive packet ready bit (d0) this bit can be read by the local mcu. further, this bit can be set to ?0? by writing ?1? to the d0 bit. the conditions of asserting and deasserting this bit are the following. bit name asserting condition action when asserted ep0 receive packet ready (d0) 1. when data is received in ep0 and storing of one packet of receive data in ep0rxfifo is completed. 2. when a setup packet is received during a control read or a control write transfer. ep0 is locked (that is, an nak is returned automatically when a data packet is received from the host computer). (in the case of the asserting condition 1, the local mcu can read ep0rxfifo.) bit name deasserting condition action when deasserted ep0 receive packet ready (d0) 1. when the local mcu resets (writes a ?1? in) this bit. 2. when the local mcu resets the setup ready bit during a control write transfer. reception is possible in ep0. r/reset: reading possible/ reset when a ?1? is written r/set: reading possible/ set when a ?1? is written
pedl60851d-01 1 semiconductor ML60851D 17/82 ep1 receive packet ready bit (d1) this bit can be read by the local mcu. further, this bit can be set to ?0? by writing ?1? to the d1 bit. the conditions of asserting and deasserting this bit are the following. ep1 has a two-layer fifo, and even the packet ready bits are present independently for layer a and layer b. the switching between these two layers is done automatically by the ML60851D. bit name asserting condition action when asserted ep1 receive packet ready (d1) when an error-free packet is received in either layer a or layer b. the local mcu can read the ep1rxfifo. ep1 is locked when both layer a and layer b have received a packet data. bit name deasserting condition action when deasserted ep1 receive packet ready (d1) when the local mcu resets (writes a ?1?) in the bits of both layer a and layer b. reception is possible in ep1 when at least one of the bits of layer a and layer b has been reset. see the explanation of the operation of the two-layer fifo given in the section on ?functional description?. ep2 receive packet ready bit (d2) this bit can be read by the local mcu. further, this bit can be set to ?0? by writing ?1? to the d2 bit. the conditions of asserting and deasserting this bit are the following. bit name asserting condition action when asserted ep2 receive packet ready (d2) when an error-free packet is received. ep2 is locked. bit name deasserting condition action when deasserted ep2 receive packet ready (d2) when the local mcu resets (writes a ?1? in) this bit. data reception is possible in ep2. ep0 transmit packet ready bit (d4) this bit can be read by the local mcu. further, this bit can be set to ?1? by writing ?1? to the d4 bit. the conditions of asserting and deasserting this bit are the following. bit name asserting condition action when asserted ep0 transmit packet ready (d4) when the local mcu sets this bit. data transmission is possible from ep0. bit name deasserting condition action when deasserted ep0 transmit packet ready (d4) 1. when an ack is received from the host computer in response to the data transmission from ep0. 2. when a setup packet is received. ep0 is locked. in other words, an nak is returned automatically when an in token is received from the host computer.
pedl60851d-01 1 semiconductor ML60851D 18/82 ep1 transmit packet ready bit (d5) this bit can be read by the local mcu. further, this bit can be set to ?1? by writing ?1? to the d5 bit. the conditions of asserting and deasserting this bit are the following. ep1 has a two-layer fifo, and even the packet ready bits are present independently for layer a and layer b. the switching between these two layers is performed automatically by the ML60851D. bit name asserting condition action when asserted ep1 transmit packet ready (d5) when the local mcu has set the bits of both layer a and layer b. data transmission is possible from ep1 when the bit for at least one of layer a and layer b has been asserted. bit name deasserting condition action when deasserted ep1 transmit packet ready (d5) when an ack is received from the host computer for the data transmission from either layer a or layer b. ep1 is locked when both layer a and layer b have not prepared the transmit data. see the explanation of the operation of the two-layer fifo given in the section on ?functional description?. ep2 transmit packet ready bit (d6) this bit can be read by the local mcu. further, this bit can be set to ?1? by writing ?1? to the d6 bit. the conditions of asserting and negating this bit are the following. bit name asserting condition action when asserted ep2 transmit packet ready (d6) when the local mcu has set this bit. data transmission is possible from ep2. bit name deasserting condition action when deasserted ep2 transmit packet ready (d6) when an ack is received from the host computer in response to the data transmission from ep2. ep2 is locked. ep3 transmit packet ready bit (d7) this bit can be read by the local mcu. further, this bit can be set to ?1? by writing ?1? to the d7 bit. the conditions of asserting and deasserting this bit are the following. bit name asserting condition action when asserted ep3 transmit packet ready (d7) when the local mcu has set this bit. data transmission is possible from ep3. bit name deasserting condition action when deasserted ep2 transmit packet ready (d7) when an ack is received from the host computer in response to the data transmission from ep3. ep3 is locked.
pedl60851d-01 1 semiconductor ML60851D 19/82 end point 0 receive byte count register (ep0rxcnt) read address c9h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000000 definition 0 byte count of ep0 (r) the ML60851D automatically counts the number of bytes in the packet being received by ep0 and stored it in this register. although the counting is performed up to the maximum packet size entered in the payload register in the case of a full packet, the count will be less than this value in the case of a short packet. the local mcu refers to this value and reads the data of one packet from the ep0rxfifo. the ep0 receive byte count register is cleared under the following conditions: 1. when the local mcu resets the ep0 receive packet ready bit (by writing a ?1? in pktrdy(0)). 2. when a setup packet is received. 3. when the local mcu writes a ?0? in the stall bit (ep0stat(2)). end point 1 receive byte count register (ep1rxcnt) read address cah write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000000 definition 0 byte count of ep1 (r) the ML60851D automatically counts the number of bytes in the packet being received by ep1 and stored it in this register. although the counting is performed up to the maximum packet size entered in the payload register in the case of a full packet, the count will be less than this value in the case of a short packet. the local mcu refers to this value and reads the data of one packet from the ep1 receive fifo. this register is invalid when the ep1 transfer direction is set as ?transmit?. the ep1 receive byte count register is cleared under the following conditions: 1. when an out token is received for ep1. 2. when the ep1 receive packet ready bit is reset (by writing a ?1? in pktrdy(1)). 3. when the local mcu writes a ?0? in the stall bit (ep1con(1)).
pedl60851d-01 1 semiconductor ML60851D 20/82 end point 2 receive byte count register (ep2rxcnt) read address cbh write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000000 definition 0 byte count of ep2 (r) the ML60851D automatically counts the number of bytes in the packet being received by ep2 and stored it in this register. although the counting is performed up to the maximum packet size entered in the payload register in the case of a full packet, the count will be less than this value in the case of a short packet. the local mcu refers to this value and reads the data of one packet from the ep2rxfifo. this register is invalid when the ep2 transfer direction is set as ?transmit?. the ep2 receive byte count register is cleared under the following conditions: 1. when an out token is received for ep2. 2. when the ep2 receive packet ready bit is reset (by writing a ?1? in pktrdy(2)). 3. when the local mcu writes a ?0? in the stall bit (ep2con(1)).
pedl60851d-01 1 semiconductor ML60851D 21/82 revision register (revision) read address cdh write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset after a bus reset definition revision no. of chip transmit fifo clear register (clrfifo) read address ? write address 4eh d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset cannot be read (indeterminate) after a bus reset cannot be read (indeterminate) definition 0 0 0 0 ep1 to ep3 fifo clear: when each ep has been set for transmission, by writing a ?1? in these bits, the corresponding fifos are cleared at the write pulse and also the corresponding ep packet ready bits are reset. ep1 transmit fifo clear ep2 transmit fifo clear ep3 transmit fifo clear
pedl60851d-01 1 semiconductor ML60851D 22/82 system control register (syscon) read address ? write address 4fh d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset cannot be read (indeterminate) after a bus reset cannot be read (indeterminate) definition 0 0 0 software reset: when a ?1? is written in this bit, a system reset is executed at the write pulse. this is functionally equivalent to a hardware reset. oscillation stop command: the oscillation circuit of the ML60851D stops and goes into the standby state when 1010b is written in d7 to d4 (that is, when a0h is written in this register). once the ic goes into the standby state, to start communication with the usb bus thereafter, it is necessary to carry out again disconnecting, connecting, and enumeration. even when the oscillation has stopped, although it is possible to read on write the registers, it is impossible to read or write the fifo. the oscillation can be started again by asserting the reset pin. the oscillation can be restarted even by a software reset. software reset oscillation stop command
pedl60851d-01 1 semiconductor ML60851D 23/82 bmrequest type setup register read address d0h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000000 definition type receiving side the format of the device request conforms to section 9.3 of the usb standards. the eight bytes of setup data sent by the host computer during the setup stage of control transfer are stored automatically in eight registers including this register. brequest setup register read address d1h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000000 definition request code the request code indicating the contents of the device request is stored automatically in this register during the setup stage of control transfer. 0 = device 1 = interface 2 = end point 3 = others 4 to 31 = reserved 0 = standard 1 = class 2 = vendor 3 = reserved 0 = from the host computer to the device 1 = from the device to the host computer data transfer direction
pedl60851d-01 1 semiconductor ML60851D 24/82 wvalue lsb setup register read address d2h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000000 definition wvalue lsb a parameter of device request is stored in this register during the setup stage of control transfer. wvalue msb setup register read address d3h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000000 definition wvalue msb a parameter of device request is stored in this register during the setup stage of control transfer. windex lsb setup register read address d4h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000000 definition windex lsb a parameter of device request is stored in this register during the setup stage of control transfer. windex msb setup register read address d5h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000000 definition windex msb a parameter of device request is stored in this register during the setup stage of control transfer.
pedl60851d-01 1 semiconductor ML60851D 25/82 wlength lsb setup register read address d6h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000000 definition wlength lsb a parameter of device request is stored in this register during the setup stage of control transfer. wlength msb setup register read address d7h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000000 definition wlength msb a parameter of device request is stored in this register during the setup stage of control transfer.
pedl60851d-01 1 semiconductor ML60851D 26/82 polarity selection register (polsel) read address dah write address 5ah d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset the previous value is retained definition 00000 the local mcu can set the operating conditions of the ML60851D. the bits d7 to d3 are fixed at ?0? and even if ?1?s are written in them, they are ignored. polarity of intr 0 = active low 1 = active high polarity of dreq 0 = active low 1 = active high polarity of dack 0 =active high 1 =active low
pedl60851d-01 1 semiconductor ML60851D 27/82 interrupt enable register (intenbl) read address dbh write address 5bh d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000001 after a bus reset the previous value is retained definition the interrupts that can be accepted are set in this register. it is possible to change the setting of interrupt enable or disable dynamically depending on the operating conditions. there is a correspondence between this register the interrupt status register described next in terms of the bit numbers and the corresponding interrupt factors. setup ready interrupt enable ep1 packet ready interrupt enable ep2 packet ready interrupt enable ep0 receive packet ready interrupt enable ep0 transmit packet ready interrupt enable usb bus reset interrupt enable suspend state interrupt enable ep3 packet ready interrupt enable
pedl60851d-01 1 semiconductor ML60851D 28/82 interrupt status register (intstat) read address dch write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset see below 0 see below see below 0 see below 00 definition setup ready interrupt status: when bit d0 of the interrupt enable register (intenbl) is ?1?, the content of bit d0 of the ep0 status register (ep0stat) is copied here. this bit is ?0? when d0 of intenbl is ?0?. in other words, when the eight bytes of setup data are received in the setup stage of control transfer and are correctly stored in the setup registers, this bit is set to ?1? and the intr pin is asserted. ep1 packet ready interrupt status: when bit d1 of the interrupt enable register (intenbl) is ?1?, the negation of the content of bit d1 or of bit d5 of the end point packet ready register (pktrdy) is copied here. this bit is ?0? when bit d1 of intenbl is ?0?. the value at the time of a bus reset is determined based on the value of intenbl and the ep transfer direction at that time, and also based on the value of the packet ready bit for that ep. (if the ep1 transfer direction has been set as ?receive?, the negation of d1 is stored here, and the negation of d5 is stored if the transfer direction has been set as ?transmit?.) during data reception, the packet ready interrupt is generated when one packet of receive data is correctly stored in one of the two fifo layers of ep1. during transmission, the packet ready interrupt is generated when data transmission has been completed from (and writing becomes possible again) one of the two fifo layers of ep1. setup ready interrupt status ep1 packet ready interrupt status ep2 packet ready interrupt status ep0 receive packet ready interrupt status ep0 transmit packet ready interrupt status usb bus reset interrupt status suspend state interrupt status ep3 packet ready interrupt status
pedl60851d-01 1 semiconductor ML60851D 29/82 ep2 packet ready interrupt status: when bit d2 of the interrupt enable register (intenbl) is ?1?, the negation of bit d2 or bit d6 of the end point packet ready register (pktrdy) is copied here. this bit is ?0? when bit d2 of intenbl is ?0?. the value at the time of a bus reset is determined based on the value of intenbl and the ep transfer direction at that time, and also based on the value of the packet ready bit for that ep. (if the ep2 transfer direction has been set as ?receive?, the negation of d2 is stored here, and the negation of d6 is stored if the transfer direction is has been set as ?transmit?.) during data reception, the packet ready interrupt is generated when one packet of receive data is correctly stored in the fifo of ep2. during transmission, the packet ready interrupt is generated when data transmission has been completed from (and writing becomes possible again) the fifo of ep2. ep0 receive packet ready interrupt status: when bit d3 of the interrupt enable register (intenbl) is ?1?, the content of bit d0 of the end point packet ready register (pktrdy) is copied here. this bit is ?0? when bit d3 of intenbl is ?0?. in other words, when one data packet is received in the data stage of control transfer and is correctly stored in the ep0rxfifo, this bit is set to ?1? and the intr pin is asserted. ep0 transmit packet ready interrupt status: when bit d4 of the interrupt enable register (intenbl) is ?1?, the negation of the content of bit d4 of the end point packet ready register (pktrdy) is copied here. this bit is ?0? when bit d4 of intenbl is ?0?. the value at the time of a bus reset is determined based on the value of intenbl and the ep transfer direction at that time, and also based on the value of the packet ready bit of that ep. in other words, when the transmission from the ep0rxfifo is completed (and writing is possible again in the fifo) in the data stage of control transfer, this bit is set to ?1? and the intr pin is asserted. usb bus reset interrupt status: when bit d5 of the interrupt enable register (intenbl) is ?1?, this bit becomes ?1? during a bus reset. this bit is ?0? when bit d5 of intenbl is ?0?. the value at the time of a bus reset is determined based on the value of intenbl and the ep transfer direction at that time, and also based on the value of the packet ready bit of that ep. write a ?1? in bit d5 of the device status register to return this bit to ?0?. suspend state interrupt status: when bit d6 of the interrupt enable register (intenbl) is ?1?, the content of bit d3 of the device state register (dvcstat) is copied here. this bit is ?0? when bit d6 of intenbl is ?0?. ep3 packet ready interrupt status: when bit d7 of the interrupt enable register (intenbl) is ?1?, the negation of bit d7 of the end point packet ready register (pktrdy) is copied here. this bit is ?0? when bit d7 of intenbl is ?0?. the value at the time of a bus reset will be determined based on the value of intenbl and the ep transfer direction at that time, and also based on the value of the packet ready bit of that ep.
pedl60851d-01 1 semiconductor ML60851D 30/82 dma control register (dmacon) read address ddh write address 5dh d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset the previous value is retained definition 0 0 note 1: in the 16-bit mode, the upper byte of the leading word is 00h. note 2: the allocation is made in the little-endian sequence of the upper byte followed by the lsb. in other words, the lower byte corresponds to ad0 to ad7 and the msb corresponds to d8 to d15. in the 16-bit mode, when the packet size is an odd number of bytes, the upper byte of the last word is 00h. note 3: make sure that all bits other than d7, that is, bits d4 to d0, are set completely during initialization (at the latest, before the token packet for ep1 arrives) and are not modified thereafter. when wanting to temporarily halt the dma transfer in the middle, write a ?1? in d7. when the transfer is restarted by writing a ?0? in d7, it is possible to restart the transfer from the byte (or word) next to the one a the time the transfer was halted. note 4: the bits d6 and d5 are fixed at ?0?. even if a ?1? is written in them, it will be invalid. dma enable 0 = dma inhibited 1 = dma transfer of ep1 is enabled dma address mode 0 = single address mode 1 = dual address mode byte count 0 = the byte count is not inserted. 1 = the byte count data is inserted in the leading byte or the leading word of the transfer data. (note 1) dma transfer data width 0 = byte wide (8 bits) 1 = word wide (16 bits) (note 2) dma transfer mode 0 = single transfer mode 1 = demand transfer mode halting dma transfer 0 = normal operation 1 = the dreq pin is deasserted.
pedl60851d-01 1 semiconductor ML60851D 31/82 dma interval register (dmaintvl) read address deh write address 5eh d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset the previous value is retained definition interval time this register is used for specifying the interval of the single dma transfer mode, that is, the interval from the completion of the previous byte (or word) dma transfer until dreq is asserted again. the time per bit is 84ns (12mhz, one period). interval time = (dreq enable time) + 84 x n (ns) see dma timings (1), (2), (5), and (6) for details of the dreq enable time.
pedl60851d-01 1 semiconductor ML60851D 32/82 end point 0 receive control register (ep0rxcon) read address e0h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000001 definition 0000000 configuration bit: the configuration bit of ep0 becomes ?1? at the time of an usb bus reset. the packets sent by the host computer to ep0 are received when this bit is ?1?. this ic does not respond to any transactions with this ep when this bit is ?0?. the transfer mode of ep0 is a control transfer and the end point address is fixed at 0h. therefore, the values of d6 to d2 are fixed and other values written in them are invalid. end point 0 receive data toggle register (ep0rxtgl) read address e1h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset0000000x after a bus reset 0000000x definition 0000000 configuration bit (r) transfer type 00 = control transfer end point address data sequence toggle bit (r)
pedl60851d-01 1 semiconductor ML60851D 33/82 end point 0 receive payload register (ep0rxpld) read address e2h write address 62h d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00001000 after a bus reset 00001000 definition 00001000 maximum packet size: since the fifo capacity for ep0 in the ML60851D is 8 bytes, write 08h in the bmaxpacketsize0 byte of the device descriptor. the maximum packet size is fixed at 8 bytes in this register ep0rxpld. when a packet longer than 8 bytes is received, the stall bit of the ep0 status register is asserted and the stall status is returned to the host computer. the content of this register is fixed at 08h. this value will not change even if any other value is written in this register. maximum packet size
pedl60851d-01 1 semiconductor ML60851D 34/82 end point 1 control register (ep1con) read address e4h write address 64h d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset 0 0 0 1 1 0 x 0 after a bus reset 000110x0 definition 00110 configuration bit: the local mcu should write ?1? in this bit during the status stage of control transfer when a ?set configuration? request is received from the host computer to make ep1 active. when this bit is ?1?, the exchange of data between the host computer and ep1 is enabled. when this bit is ?0?, this ic does not respond to any transactions with this ep. stall bit: when a data packet is received with a number of bytes more than the maximum packet size set in the ep1 payload register, the ML60851D automatically sets this bit to ?1?. it is also possible for the local mcu to write a ?1? in this bit. when this bit is ?1?, the stall handshake is automatically returned to the host computer in response to the packet transmitted by the host computer to the end point. in addition, the packet ready status is not asserted and even the intr pin is not asserted. the ep1 transfer mode is set as a bulk transfer and the end point address is 1h. therefore, the bits d6 to d2 have fixed values, and other values written in them are ignored. configuration bit (r/w) stall bit (r/w) transfer type 10 = bulk transfer end point address (r) transfer direction (r/w) 0 = receive, 1 = transmit
pedl60851d-01 1 semiconductor ML60851D 35/82 end point 1 data toggle register (ep1tgl) read address e5h write address 65h d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000000 definition 0000000 data sequence toggle bit: when initializing an ep, write a ?1? in this bit to reset the toggle bit of the data packet and specify pid of data0 (this bit also becomes ?0?). thereafter, the synchronous operation is made automatically based on the data sequence toggling mechanism. the values of bits d7 to d1 are fixed at ?0? and even if a ?1? is written in these bits, it will be invalid. end point 1 payload register (ep1pld) read address e6h write address 66h d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset0xxxxxxx after a bus reset 0xxxxxxx definition 0 maximum packet size (r/w) maximum packet size: the value of wmaxpacketsize of the end point descriptor selected by the set_configuration request from the host computer should be written in this register by the local mcu. the packet size of packets other than short packets is specified in units of a byte. the value can be one of 40h (64 bytes), 20h (32 bytes), 10h (16 bytes), and 08h (8 bytes). during data reception by ep1, if a packet with more number of bytes than that specified here is received, the receive packet ready bit is not asserted, and the stall bit is set during eop and the stall handshake is returned to the host computer. on the other hand, when ep1 is being used for transmission, the transmit packet ready bit is set automatically when the writing of data of the number of bytes set in this register (maximum packet size) by the dma controller is completed. bit d7 is fixed at ?0?, and even if a ?1? is written, it will be ignored. data sequence toggle bit (r/reset )
pedl60851d-01 1 semiconductor ML60851D 36/82 end point 0 transmit control register (ep0txcon) read address f0h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset01000000 after a bus reset 01000001 definition 0100000 configuration bit: the configuration bit of ep0 becomes ?1? during an usb bus reset (both d+ and d- being ?0? for more than 2.5 s). packets can be sent from this end point to the host computer when this bit is ?1?. this ic does not respond to any transactions with this ep when this bit is ?0?. the transfer mode of ep0 is a control transfer and the end point address is fixed at 0h. therefore, the values of d6 to d2 are fixed and other values written in them are invalid. end point 0 transmit data toggle register (ep0txtgl) read address f1h write address ? d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset0000000x after a bus reset 0000000x definition 0000000 the synchronization based on the data sequence toggling mechanism is carried out automatically by the ML60851D. configuration bit (r) transfer type 00 = control transfer fifo number data sequence toggle bit (r)
pedl60851d-01 1 semiconductor ML60851D 37/82 end point 0 transmit payload register (ep0txpld) read address f2h write address 72h d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset0xxxxxxx after a bus reset 0xxxxxxx definition 0 maximum packet size (r/w) maximum packet size: this is a register that has no relationship with the operation of the ML60851D, and can be used as a general purpose register. bit d7 is fixed at ?0?.
pedl60851d-01 1 semiconductor ML60851D 38/82 end point 0 status register (ep0stat) read address f3h write address 73h d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset 0 0 0 0 0 x 0 0 after a bus reset 00000x00 definition 0 0 0 0 setup ready: this bit is set automatically when a proper setup packet arrives in the 8-byte setup register, and the ep0rxfifo is locked. if d0 of intenbl has been asserted, the intr pin is also asserted automatically when this bit is set. the local mcu should write a ?1? in this bit after the reading out the 8-byte setup data. when this is performed, the setup ready bit is reset and the intr pin also is deasserted. during a control write, even the packet ready bit of ep0 is reset simultaneously, the lock condition is released, and it becomes possible to receive packets by ep0 during the data stage. the register value will not change even if a ?0? is written in this bit. stall bit: during ep0 reception (in the data stage of a control write transfer), the ML60851D automatically sets this bit to ?1? when a packet with a number bytes more than the maximum packet size written in ep0rxpld is received (or when eop is missing). bits d7 to d5 and d1 are fixed at ?0?, and other values written in them are invalid. ep0 stage: indicates the stage transition during a control transfer. the transition conditions between the different stages are shown in the following stage transition diagram. setup ready (r/reset) stall bit (r/w) ep0 stage (r) 00 = setup stage 01 = data stage 10 = status stage
pedl60851d-01 1 semiconductor ML60851D 39/82 condition 1: reception of a setup packet of control read transfer or control write transfer. condition 2: reception of a setup packet of control transfer without data. condition 3: reception of a token (in/out) of a direction opposite to the data flow in the data stage. hardware reset usb bus reset setup stage data stage condition 1 status stage condition 2 condition 3 condition 1 condition 2
pedl60851d-01 1 semiconductor ML60851D 40/82 end point 2 control register (ep2con) read address f4h write address 74 d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset 0 0 1 0 1 0 x 0 after a bus reset 001010x0 definition 01010 configuration bit: the local mcu should write a ?1? in this bit during the status stage of control transfer when a ?set configuration? request is received from the host computer to make ep2 active. when this bit is ?1?, the exchange of data between the host computer and ep2 is enabled. when this bit is ?0?, this ic does not respond to any transactions with this ep. stall bit: during ep2 reception, when a data packet is received with a number of bytes more than the maximum packet size set in the pay load register ep2pld, the ML60851D automatically sets this bit to ?1?. it is also possible for the local mcu to write a ?1? in this bit. when this bit is ?1?, the stall handshake is automatically returned to the host computer in response to the packet transmitted by the host computer to the end point. in addition, the packet ready status is not asserted and the intr pin is not asserted. the ep2 transfer mode is set as a bulk transfer and the end point address is 2h. therefore, the bits d6 to d2 have fixed values, and other values written in them are ignored. configuration bit (r/w) stall bit (r/w) transfer type 10 = bulk transfer end point address (r) transfer direction (r/w) 0 = receive, 1 = transmit
pedl60851d-01 1 semiconductor ML60851D 41/82 end point 2 data toggle register (ep2tgl) read address f5h write address 75h d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000000 definition 0000000 data sequence toggle bit: when initializing an ep after receiving a setup packet, write a ?1? in this bit to reset the toggle bit of the data packet and specify pid of data0 (this bit also becomes ?0?). thereafter, the synchronous operation is made automatically based on the data sequence toggling mechanism. the values of bits d7 to d1 are fixed at ?0? and even if a ?1? is written in these bits, it will be invalid. end point 2 payload register (ep2pld) read address f6h write address 76h d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset0xxxxxxx after a bus reset 0xxxxxxx definition 0 maximum packet size (r/w) maximum packet size: the value of wmaxpacketsize of the end point descriptor selected by the set_configuration request from the host computer should be written in this register by the local mcu. the packet size of packets other than short packets is specified in units of a byte. the value can be one of 40h (64 bytes), 20h (32 bytes), 10h (16 bytes), and 08h (8 bytes). this register is used for ep2 reception. during data reception by ep2, if a packet with more number of bytes than that specified here is received, the receive packet ready bit is not asserted, and the stall bit is set during eop and the stall handshake is returned to the host computer. bit d7 is fixed at ?0?, and even if a ?1? is written, it will be invalid. data sequence toggle bit ( r/rese t )
pedl60851d-01 1 semiconductor ML60851D 42/82 end point 3 control register (ep3con) read address f8h write address 78h d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset 0 0 1 1 1 1 x 0 after a bus reset 001111x0 definition 01111 configuration bit: the local mcu should write a ?1? in this bit during the status stage of control transfer when a ?set configuration? request is received from the host computer to make ep3 active. when this bit is ?1?, the exchange of data between the host computer and ep3 is enabled. when this bit is ?0?, this ic does not respond to any transactions with this ep. stall bit: when this bit is ?1?, the stall handshake is automatically returned to the host computer in response to the packet transmitted to the host computer from this end point. the ep3 transfer mode is set as an interrupt transfer and the end point address is fixed at 3h. therefore, the bits d6 to d2 have fixed values, and other values written in them are invalid. toggling condition bit: when this bit is ?0?, toggling is performed between data0 and data1 every time an ack is sent from the host computer to ep3. if this bit is set to ?1?, the rate feedback mode will be set. in this case, the toggling is performed every time the packet ready bit is asserted. configuration bit (r/w) stall bit (r/w) transfer type (r) 11b = interrupt transfer end point address toggling condition (r/w) 0 = normal 1 = rate feedback mode
pedl60851d-01 1 semiconductor ML60851D 43/82 end point 3 data toggle register (ep3tgl) read address f9h write address 79h d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset00000000 after a bus reset 00000000 definition 0000000 data sequence toggle bit: when initializing an ep, write a ?1? in this bit to reset the toggle bit of the data packet and specify pid of data0 (this bit also becomes ?0?). the values of bits d7 to d1 are fixed at ?0? and even if a ?1? is written in these bits, it will be invalid. end point 3 payload register (ep3pld) read address fah write address 7ah d7 d6 d5 d4 d3 d2 d1 d0 after a hardware reset0xxxxxxx after a bus reset 0xxxxxxx definition 0 7-bit general purpose register this register can be used for any purpose. it is possible to retain or refer to the value written in this register without affecting the other operations of the ML60851D. the initial values of bits other than d7 are indeterminate. bit d7 is fixed at ?0? and even if a ?1? is written in this bit, it will be invalid. data sequence toggle bit (r/reset )
ML60851D ? semiconductor 44/82 pedl60851d-01 absolute maximum ratings recommended operating conditions parameter symbol condition rating unit power supply 3 v cc3 ?.3 to +4.6 v power supply 5 v cc5 ?.5 to +6.5 v input voltage v i ?.3 to v cc5 + 0.3 v storage temperature t stg ?5 to +150 ? parameter symbol condition range unit ss4 4 3.0 to 3.6 v power supply 5 v cc5 3.0 to 5.5 v operating temperature ta 0 to 70 c oscillation frequency f osc 48 mhz
ML60851D ? semiconductor 45/82 pedl60851d-01 electrical characteristics dc characteristics (1) notes: 1. applied to d15:d8, ad7:ad0, a7:a0, cs , rd , wr , dack, ale, and adsel. 2. applied to xin, a7:a0, cs , rd , wr , dack, ale, and adsel. 3. total currents when v cc3 and v cc5 are connected. 4. total currents when v cc3 and v cc5 are connected. the xin pin is fixed at a high level or a low level in the suspend state. all the output pins are open. parameter condition applicable pin high-level input voltage unit v max. v cc5 + 0.3 typ. min. 2.0 (v cc5 = v cc3 = 3.0 to 3.6 v, tj = 0 to 85c) symbol v ih note 1 low-level input voltage v +0.8 C0.3 v il schmitt trigger input voltage v 2.0 1.6 v t+ reset v 1.2 0.8 v tC (v t+ ) C (v tC )v 0.4 0.1 d v t high-level output voltage i oh = C100 m av v cc5 C 0.2 v oh d15:d8 ad7:ad0 intr , dreq i oh = C4 ma v 2.4 low-level output voltage i ol = 100 m av 0.2 v ol i ol = 4 ma v 0.4 high-level input current v ih = v cc5 m a 1 0.01 i ih note 2 low-level input current v il = 0 v m a C0.01 C1 i il 3-state output leakage current v oh = v cc5 m a 1 0.01 i ozh d15:d8 ad7:ad0 v ol = 0 v m a C0.01 C1 i ozl power supply current (operating) note 3 ma i cc v cc3 , v cc5 power supply current (standby) note 4 m a i ccs v cc3 , v cc5 high-level input voltage v v cc3 + 0.3 v cc3 0.8 v ih xin low-level input voltage v v cc3 0.2 C0.3 v il 55 100
ML60851D ? semiconductor 46/82 pedl60851d-01 dc characteristics (2) parameter condition applicable pin high-level input voltage unit v max. v cc5 + 0.5 typ. min. 2.2 (v cc5 = 4.5 to 5.5 v, v cc3 = 3.0 to 3.6 v, tj = 0 to 85c) symbol v ih note 1 low-level input voltage v +0.8 C0.5 v il schmitt trigger input voltage v 2.2 1.7 v t+ reset v 1.4 0.8 v tC (v t+ ) C (v tC )v 0.3 0.2 d v t high-level output voltage i oh = C100 m av v cc5 C 0.2 v oh d15:d8 ad7:ad0 intr , dreq i oh = C8 ma v 3.7 low-level output voltage i ol = 100 m av 0.2 v ol i ol = 8 ma v 0.4 high-level input current v ih = v cc5 m a 10 0.01 i ih note 2 low-level input current v il = 0 v m a C0.01 C10 i il 3-state output leakage current v oh = v cc5 m a 10 0.01 i ozh d15:d8 ad7:ad0 v ol = 0 v m a C0.01 C10 i ozl power supply current (operating) ma i cc3 v cc3 power supply current (standby) note 3 m a i ccs3 v cc3 50 50 ma i cc5 v cc5 note 3 m a i ccs5 v cc5 5 50 notes: 1. applied to d15:d8, ad7:ad0, a7:a0, cs , rd , wr , dack, ale, and adsel. the dc characteristics (1) applies to xin. 2. applied to a7:a0, cs , rd , wr , dack, ale, and adsel. the dc characteristics (1) applies to xin. 3. the xin pin is fixed at a high level or a low level in the suspend state. all the output pins are open.
ML60851D ? semiconductor 47/82 pedl60851d-01 dc characteristics (3) usb port parameter condition applicable pin differential input sensitivity (d+) C (dC) unit v max. typ. min. 0.2 (v cc3 = 3.0 to 3.6 v, ta = 0 to 70c) symbol v di d+, dC differential common mode range includes v di range v 2.5 0.8 v cm single ended receiver threshold v 2.0 0.8 v se high-level output voltage rl of 15 k w to gnd v 3.6 2.8 v oh low-level output voltage rl of 1.5 k w to 3.6 v v 0.3 v ol output leakage current 0 v < v in < 3.3 v m a +10 C10 i lo ac characteristics usb port parameter condition (notes 1. and 2.) applicable pin rise time cl = 50 pf unit ns max. typ. min. 4 (v cc3 = 3.0 to 3.6 v, v ss = 0 v, ta = 0 to 70c) symbol t r d+, dC fall time cl = 50 pf ns 20 4 t f rise/fall time matching % 111.11 90 t rfm output signal crossover voltage v 2 1.3 v crs driver output resistance steady state driver (note 3) w 44 z drv data rate ave. bit rate (12 mbps 0.25%) mbps 12.03 11.97 t drate 20 (t r /t f ) 28 notes: 1. 1.5 k w pull-up to 3.3 v on the d+ data line. 2. t r and t f are measured from 10% to 90% of the data signal. 3. including an external resistance of 22 w 5% on the d+ and dC data lines.
ML60851D ? semiconductor 48/82 pedl60851d-01 timing diagram read timing (1) (address separate, adsel = 0) parameter symbol condition note address setup time ( rd )t 1 address ( cs ) hold time t 2 read data delay time t 3 read data hold time t 4 unit ns ns ns ns max. min. 21 25 25 0 recovery time t 5 ns fifo access time t 6 ns load 20 pf load 20 pf fifo read fifo read 0 63 42 5 2 1 3 4 ( rd ) address setup time ( cs )t 1 ns 10 5 ( cs ) a7:a0 cs rd ad7:ad0 t 1 t 6 t 2 t 3 t 4 t 5 data out notes: 1. t 3 is defined depending upon cs or rd which becomes active last. 2. t 2 is defined depending upon cs or rd which becomes active first. 3. 3-clock time of oscillation clock (clock period: 21 ns). it is required for increment of fifo. 4. 2-clock time of oscillation clock (clock period: 21 ns). it is required for increment of fifo. 5. t 1 is required for reading fifo. t 1 is defined when either t 1 ( cs ) or t 1 ( rd ) is satisfied.
ML60851D ? semiconductor 49/82 pedl60851d-01 read timing (2) (address/data multiplex, adsel = 1) parameter symbol condition note address ( cs ) setup time t 1 address ( cs ) hold time t 2 read data delay time t 3 read data hold time t 4 unit ns ns ns ns max. min. 10 25 25 0 recovery time t 5 ns fifo access time t 6 ns load 20 pf load 20 pf fifo read fifo read 0 63 42 1 2 notes: 1. 3-clock time of oscillation clock (clock period: 21 ns). it is required for increment of fifo. 2. 2-clock time of oscillation clock (clock period: 21 ns). it is required for increment of fifo. ad7:ad0 ale cs rd t 2 t 4 data out address t 5 t 3 t 6 t 1
ML60851D ? semiconductor 50/82 pedl60851d-01 write timing (1) (address separate, adsel = 0) notes: 1. either t 1 (aCw) or t 1 (aCc) should be satisfied. 2. t 1 is defined depending upon cs or wr which becomes active first. 3. 3-clock time of oscillation clock (clock period: 21 ns). it is required for increment of fifo. 4. 2-clock time of oscillation clock (clock period: 21 ns). it is required for increment of fifo. 5. applied to all registers including clrfifo (address: 4eh). parameter symbol condition note address setup time t 1 address ( cs ) hold time t 2 write data setup time t 4 write data hold time t 5 unit ns ns ns ns max. min. 21 30 2 recovery time t 6 ns fifo access time t 7 ns fifo write fifo write 0 63 42 2 3 cs setup time t 3 ns 10 1 (aCw) address setup time t 1 ns 10 1 (aCc) cs wr data in a7:a0 ad7:ad0 t 7 t 2 t 6 t 5 t 3 t 4 t 1 (aCw) t 1 (aCc)
ML60851D ? semiconductor 51/82 pedl60851d-01 write timing (2) (address/data multiplex, adsel = 1) notes: 1. 3-clock time of oscillation clock (clock period: 21 ns). it is required for increment of fifo. 2. 2-clock time of oscillation clock (clock period: 21 ns). it is required for increment of fifo. 3. applied to all registers including clrfifo (address: 4eh). parameter symbol condition note address ( cs ) setup time t 1 address ( cs ) hold time t 2 write data setup time t 3 write data hold time t 4 unit ns ns ns ns max. min. 10 30 2 recovery time t 5 ns fifo access time t 6 ns fifo write fifo write 0 63 42 1 2 ad7:ad0 address data in ale cs wr t 2 t 4 t 3 t 5 t 6 t 1
ML60851D ? semiconductor 52/82 pedl60851d-01 dma transfer timing (1) ML60851D to memory (single transfer, single address mode) parameter symbol condition note dreq disable time t 1 dreq enable time t 2 dack hold time t 3 read data delay time t 4 1 unit ns ns ns ns max. min. 20 0 25 data hold time t 5 ns recovery time t 6 2 ns 63 ns load 20 pf load 20 pf load 20 pf 8-bit dma 16-bit dma 0 105 63 25 3 4 notes: 1. when in single address mode, cs and a7:a0 are ignored. t 1 and t 4 are defined depending on dack or rd which becomes active last. 2. 3-clock time of oscillation clock (clock period: 21 ns). 3. 5-clock time of oscillation clock (clock period: 21 ns). 4. it is possible to increase t 2 by setting the dma interval register (dmaintvl). t 1 t 2 t 5 t 4 dreq dack rd dout t 3 t 6 data out
ML60851D ? semiconductor 53/82 pedl60851d-01 dma transfer timing (2) ML60851D to memory (single transfer, dual address mode) parameter symbol condition note dreq disable time t 1 dreq enable time t 2 read data delay time t 3 t 4 1 unit ns ns ns ns max. min. 20 25 data hold time recovery time t 5 2 ns ns 63 load 20 pf load 20 pf load 20 pf 8-bit dma 16-bit dma 0 105 63 25 3 4 notes: 1. when in dual address mode, the dack is ignored. t 1 and t 3 are defined depending on cs or rd which becomes active last. a7:a0 specifies the fifo address. refer to read timing (1) for address setup time and address hold time. 2. 3-clock time of oscillation clock (clock period: 21 ns). 3. 5-clock time of oscillation clock (clock period: 21 ns). 4. it is possible to increase t 2 by setting the dma interval register (dmaintvl). t 2 t 4 t 3 t 1 a7:a0 dreq cs rd dout t 5 data out
ML60851D ? semiconductor 54/82 pedl60851d-01 dma transfer timing (3) ML60851D to memory (demand transfer, single address mode) parameter symbol condition note dreq disable time t 1 dack hold time t 2 read data delay time t 3 t 4 1 unit ns ns ns ns max. min. 0 25 data hold time recovery time t 5 2 ns ns 63 load 20 pf load 20 pf load 20 pf 8-bit dma 16-bit dma 20 25 0 105 3 notes: 1. w hen in single address mode, t 3 is defined depending on dack or rd which becomes active last. a7:a0 and cs are ignored. 2. 3-clock time of oscillation clock (clock period: 21 ns). 3. 5-clock time of oscillation clock (clock period: 21 ns). t 3 t 1 t 2 last packet read dreq dack rd dout t 5 t 4
ML60851D ? semiconductor 55/82 pedl60851d-01 dma transfer timing (4) ML60851D to memory (demand transfer, dual address mode) parameter symbol condition note dreq disable time t 1 cs hold time t 2 read data delay time t 3 t 4 1 unit ns ns ns ns max. min. 25 data hold time recovery time t 5 2 ns ns load 20 pf load 20 pf load 20 pf 8-bit dma 16-bit dma 0 0 63 105 20 25 3 notes: 1. when in dual address mode, the dack is ignored. t 3 is defined depending on cs or rd which becomes active last. a7:a0 specifies the fifo address. refer to read timing (1) for address setup time and address hold time. 2. 3-clock time of oscillation clock (clock period: 21 ns). 3. 5-clock time of oscillation clock (clock period: 21 ns). a7:a0 dreq cs rd dout t 3 t 4 t 2 t 1 last packet read t 5
ML60851D ? semiconductor 56/82 pedl60851d-01 dma transfer timing (5) memory to ML60851D (single transfer, single address mode) notes: 1. when in single address mode, cs and a7:a0 are ignored. 2. 3-clock time of oscillation clock (clock period: 21 ns). 3. 5-clock time of oscillation clock (clock period: 21 ns). 4. it is possible to increase t 2 by setting the dma interval register (dmaintvl). t 3 t 5 t 7 t 6 t 2 dreq dack wr din t 4 t 1 parameter symbol condition note dreq disable time t 1 dreq enable time t 2 dack hold time write data setup time t 4 unit ns ns ns ns max. min. 20 0 write data hold time t 5 ns fifo access time t 3 ns t 6 load 20 pf 30 2 42 63 1 recovery time ns t 7 ns 63 105 8-bit dma 16-bit dma 2 3 fifo write 4
ML60851D ? semiconductor 57/82 pedl60851d-01 dma transfer timing (6) memory to ML60851D (single transfer, dual address mode) parameter symbol condition note dreq disable time t 1 dreq enable time t 2 write data setup time unit ns ns ns max. min. 20 write data hold time t 4 ns fifo access time t 3 ns t 5 recovery time ns t 6 ns load 20 pf 63 30 2 42 63 105 2 3 8-bit dma 16-bit dma 1 fifo write 4 t 2 t 3 t 4 t 5 a7:a0 dreq cs wr din t 6 t 1 notes: 1. when in dual address mode, the dack is ignored. t 1 and t 3 are defined depending on cs or wr which becomes active last. refer to write timing (1) for address setup time and address hold time. 2. 3-clock time of oscillation clock (clock period: 21 ns). 3. 5-clock time of oscillation clock (clock period: 21 ns). 4. it is possible to increase t 2 by setting the dma interval register (dmaintvl).
ML60851D ? semiconductor 58/82 pedl60851d-01 dma transfer timing (7) memory to ML60851D (demand transfer, single address mode) parameter symbol condition note dreq disable time t 1 t 2 dack hold time write data setup time t 4 unit ns ns ns max. min. 20 42 write data hold time t 5 ns fifo access time t 3 ns recovery time t 6 ns ns load 20 pf 8-bit dma 16-bit dma 0 30 2 63 105 1 2 3 fifo write notes: 1. when in single address mode, a7:a0 and cs are ignored. t 2 is defined depending on dack or wr which becomes active last. 2. 3-clock time of oscillation clock (clock period: 21 ns). 3. 5-clock time of oscillation clock (clock period: 21 ns). t 1 t 3 last packet write t 4 t 2 dreq dack wr din t 5 t 6 (note) (note) the last write to reach the byte size (maximum packet size) specified by the ep1 payload register. to terminate dma transfer before reaching the maximum packet size, set ep1 packet ready by writing "1" to the ep1 endpoint packet ready bit.
ML60851D ? semiconductor 59/82 pedl60851d-01 dma transfer timing (8) memory to ML60851D (demand transfer, dual address mode) parameter symbol condition note dreq disable time t 1 t 2 cs hold time write data setup time t 4 unit ns ns ns max. min. 20 write data hold time t 5 ns fifo access time t 3 ns recovery time t 6 ns ns load 20 pf 8-bit dma 16-bit dma 0 30 2 42 63 105 1 2 3 fifo write notes: 1. when in dual address mode, the dack is ignored. a7:a0 specifies the fifo address. refer to write timing (1) for address setup time and address hold time. t 2 is defined depending on cs or wr which becomes active last. 2. 3-clock time of oscillation clock (clock period: 21 ns). 3. 5-clock time of oscillation clock (clock period: 21 ns). t 1 t 3 t 2 t 4 last packet write a7:a0 dreq cs wr din t 5 t 6 ( note ) refer to the p revious p a g e. (note)
ML60851D ? semiconductor 60/82 pedl60851d-01 functional descriptions pin functional description usb interface crystal oscillator interface description assertion type signal for internal oscillation, connect a crystal to xin and xout. o xout for external oscillation, supply an external 48 mhz clock signal to xin. set xout to be open. description assertion type i/o signal d+ usb data (plus). this signal and the dC signal are the transmitted or received data from/to usb bus. the table below shows values and results for these signals. d+ dC result 0 0 single end 0 0 1 differential "0" 1 0 differential "1" 1 1 undefined i/o dC usb data (minus). this signal and the d+ signal are the transmitted or received data from/to usb bus. the table above shows values and results for these signals.
ML60851D ? semiconductor 61/82 pedl60851d-01 application interface note: 1. initial value immediately after resetting. its assertion can be changed by programming. description assertion type i/o signal d15:d8 upper byte (msb) of data bus. this data bus is used by applications to access register files and fifo data. i/o ad7:ad0 lower byte (lsb) of data bus when adsel is low. address and lower byte of data bus are multiplexed when adsel is high. i a7:a0 address when adsel is low. this address signal is used by application to access register files and fifo data. this signal is ignored (all lows or all highs) when adsel is high. low i cs chip select. when this signal is asserted low, the ML60851D is selected and ready to read or write data. low i rd read strobe. when this signal is asserted low, the read instruction is executed. low i wr write strobe. when this signal is asserted low, the write instruction is executed. low (note 1) o intr interrupt request. when this signal is asserted, the ML60851D makes an interrupt request to the application. low (note 1) o dreq dma request. this signal requests the endpoint fifo to make a dma transfer. high (note 1) i dack dma acknowledge signal. this signal, when asserted, enables accessing fifos, without address bus setting. i ale when adsel is high, the address and cs on ad7:ad0 is latched at the trailing edge of this signal. this signal is ignored when adsel is low. i adsel when adsel is low, the address is input on a7:a0 and data is input on d15:d8 and ad7:ad0. when adsel is high, the lower bytes (lsb) of address and data are multiplexed on ad7:ad0. i reset system reset. when this signal is asserted low, the ML60851D is reset. when the ML60851D is powered on, this signal must be asserted for 1 m s or more. low
ML60851D ? semiconductor 62/82 pedl60851d-01 functional description the ML60851D usb device controller contains the protocol engine, dpll, timer, status/control, fifo control, application interface, and remote wakeup blocks. ? protocol engine the protocol engine handles the usb communication protocol. it performs control of packet transmission/reception, generation/detection of synchronous patterns, crc generation/checking, nrzi data modulation, bit stuffing, and packet id (pid) generation/checking. ? dpll (digital phase locked loop) the dpll extracts clock and data from the usb differential received data (d+ and dC). ? timer the timer block monitors idle time on the usb bus. ? status/control the status control block moniors the transaction status and transmits control events to the application through an interrupt request.
ML60851D ? semiconductor 63/82 pedl60851d-01 ? fifo control the fifo control block controls all fifo operations for transmitting and receiving usb packets. the fifo configuration is described below. endpoint fifo/8-byte setup register configuration endpoint address program size fifo type reception transmission transmission reception/transmission 0 0 1 3 8 bytes 8 bytes 8 bytes 64 bytes (2 levels) function transfer control transfer control bulk-in and bulk-out interrupt reception/transmission 2 64 bytes bulk-out and bulk-in every fifo has a flag that indicates a full or empty fifo and the capability of re-transmitting and re-receiving data. endpoint addresses 1 and 2 can be used for either of reception and transmission by writing the register. the fifo at endpoint address 1 can be used for dma transfer. for control transfer setup ready packet ready packet ready for bulk transfer packet ready dma request packet ready 64-byte fifo 64-byte fifo 8-byte fifo 8-byte fifo tx 8-byte fifo rx 8-byte setup register endpoint address 0 endpoint address 0 endpoint address 0 endpoint address 1 endpoint address 3 ep0 receive fifo ep0 transmit fifo ep1 fifo (128 bytes) (selectable for transmitter or receiver) ep3 fifo (8 bytes) packet ready 64-byte fifo endpoint address 2 ep2 fifo (64 bytes) (selectable for transmitter or receiver)
ML60851D ? semiconductor 64/82 pedl60851d-01 ? remote wakeup this functional block supports the remote wakeup function. ? usb transfers the ML60851D supports the two transfer types (control transfer and bulk transfer) of four transfer types (control, isochronous, interrupt, and bulk) defined by the usb specifications. - the control transfer is required for transfer of configuration, commands, and status information between the host and devices. - the bulk transfer enables transfer of a large amount of data when the bus bandwidth is enough. ? usb transceiver the ML60851D contains an oki's usb transceiver which converts internal unidirectional signals into usb-compatible signals. this enables the designer's application module to interface to the physical layer of the usb.
fedl60851d-01 1 semiconductor ML60851D 65/82 ? ? ? ? interrupts the ML60851D requests interrupts to the local mcu, etc., by asserting the -intr pin. the interrupt causes are the following: (a) setup ready for the 8-byte setup data (b) ep0 receive packet ready (c) ep0 transmit packet ready (d) ep1 transmit/receive packet ready (e) ep2 transmit/receive packet ready (f) ep3 transmit packet ready (g) usb bus reset (h) suspend although there is only one intr pin, the local mcu can identify the contents of the interrupt by reading out the interrupt status register. these interrupts can also be masked dynamically by making individual settings in the interrupt enable register. the causes of the interrupts, their setting and resetting conditions, and the responses to them are described below. the functions of the setup ready bit and the packet ready bit can, in some situations, be different from those described here because of some special automatic operations done by the ML60851D. please see the descriptions of the registers ep0stat and pktrdy for more details of such functions. (1) setup ready interrupt operation source of operation description (conditions, responses, etc.) setup ready interrupt generation ML60851D the setup ready bit (d0 of ep0stat) is asserted when the 8-byte setup control data is received normally and has been stored in the set of setup registers. an interrupt is generated at this time if d0 of intenbl has been asserted. the firmware can now read the set of setup registers. end of setup ready interrupt local mcu (firmware) after making the firmware read the 8-byte setup data, write a ?1? in bit d0 of ep0 status register (ep0stat). this causes the interrupt to be de-asserted. the interrupt will not be de-asserted if a new 8-byte setup data is received during this period. in this case, discard the setup data that was being read at that time and read the new 8-byte setup data.
fedl60851d-01 1 semiconductor ML60851D 66/82 (2) ep0 receive packet ready interrupt this is used mainly during the reception of a data packet in a control write transfer. operation source of operation description (conditions, responses, etc.) ep0 receive packet ready interrupt generation ML60851D the ep0 receive packet ready bit (d0 of pktrdy) is asserted during a control write transfer when the processing has changed from the setup stage to the data stage, and the ML60851D has detected eop of the data packet and has stored the data without error in the ep0 receive fifo. the end of a packet is recognized when an eop has arrived in the cases of both full packets and short packets. an interrupt is generated at this time, if the ep0 receive packet ready interrupt enable bit (d3 of intenbl) has been asserted. (eop: end of packet) end of ep0 receive packet ready interrupt local mcu (firmware) in the case of ep0 reception, after the number of bytes of the ep0 receive fifo data indicated by the ep0 receive byte count register (ep0rxcnt) has been read, write a '1' in the ep0 receive packet ready bit (bit d0 of pkyrdy). (this status is reset when a '1' is written in this bit.) note: a short packet is a packet with a number of bytes less than the maximum packet size.
fedl60851d-01 1 semiconductor ML60851D 67/82 (3) ep0 transmit packet ready interrupt this is used mainly during the transmission of a data packet in a control read transfer. operation source of operation description (conditions, responses, etc.) ep0 transmit packet ready interrupt generation ML60851D the ep0 transmit packet ready bit (d4 of pktrdy) is de- asserted during a control read transfer when the processing has changed from the setup stage to the data stage, and it is possible to write the transmit data to the fifo. at this time, an interrupt is generated if the ep0 transmit packet ready interrupt enable bit (bit d4 of intenbl) has been asserted. for the second and subsequent packets, in addition to this condition, before the interrupt is generated, it is necessary for an ack response to come from the host for the packet that has just been sent. end of ep0 transmit packet ready interrupt local mcu (firmware) in the case of ep0 transmission, after the one packet of the ep0 transmit data has been written in ep0txfifo, write a ?1? into the ep0 transmit packet ready bit (bit d4 of pktrdy). this puts the ML60851D in a state in which it can transmit the data (that is, it can transmit the data packet when an in token arrives), and the intr pin is de-asserted at the same time. even when the number of bytes in the write data is less than the maximum packet size, it is possible to transmit the data by writing a ?1? into the transmit packet ready status bit. this makes it possible to transmit a short packet.
fedl60851d-01 1 semiconductor ML60851D 68/82 (4) receive packet ready interrupts (ep1, ep2) these interrupts are generated when the respective ep has received an appropriate data packet from the usb bus and the local mcu can read that data. operation source of operation description (conditions, responses, etc.) receive packet ready interrupt generation ML60851D the receive packet ready bit of the corresponding ep status register (epnstat) is asserted during data reception when the eop of the data packet has been received and the data has been stored without error in the corresponding fifo. the end of a packet is recognized when an eop has arrived in the cases of both full packets and short packets. an interrupt is generated at this time, if the corresponding receive packet ready interrupt enable bit has been asserted. (eop: end of packet) end of receive packet ready interrupt local mcu (firmware) after the number of bytes in the receive fifo data (epnfifo) indicated by the corresponding receive byte count register (epnrxcnt) has been read, write a ?1? into the receive packet ready bit of the corresponding ep status register (epnstat). (this status is reset when a '1' is written in this bit.)
fedl60851d-01 1 semiconductor ML60851D 69/82 (5) transmit packet ready interrupts (ep1, ep2, ep3) these interrupts are generated when it is possible for the local mcu to write the data packet to be sent to the usb bus from the corresponding ep. operation source of operation description (conditions, responses, etc.) transmit packet ready interrupt generation ML60851D (1) in the case of bulk transfer and interrupt transfer when the respective ep has been set for transmission, the transmit packet ready bit of the corresponding ep is de-asserted when it is possible to write the transmit data into the fifo. at this time, an interrupt is generated if the corresponding ep transmit packet ready interrupt enable bit (intenbl1) has been asserted. for the second and subsequent packets, in addition to this condition, before the interrupt is generated, it is necessary for an ack response to come from the host for the packet that has just been sent. end of transmit packet ready interrupt local mcu (firmware) (1) in the case of bulk transfer and interrupt transfer after the one packet of the corresponding ep transmit data has been written in epntxfifo, write a ?1? into the corresponding transmit packet ready bit. this puts the ML60851D in a state in which it can transmit the data and the intr pin is de-asserted at the same time. even when the number of bytes in the write data is less than the maximum packet size, it is possible to end the pocket transmission by writing a ?1? into the transmit packet ready status bit.
fedl60851d-01 1 semiconductor ML60851D 70/82 (6) usb bus reset interrupt operation source of operation description (conditions, responses, etc.) usb bus reset interrupt generation ML60851D the ML60851D automatically detects the condition when the se0 state continues for 2.5s or longer at the d+ and d- pins. carry this out by firmware processing for bus reset. end of usb bus reset interrupt local mcu (firmware) write a ?1? into the device status register (bit d5 of dvcstat). (7) suspend state interrupt operation source of operation description (conditions, responses, etc.) suspend state interrupt generation ML60851D when the idle condition persists for 3ms or more at the d+ and d- pins. perform farmware processing to the bus reset. end of suspend state interrupt local mcu (firmware) when receive ep0.
fedl60851d-01 1 semiconductor ML60851D 71/82 ? ? ? ? dma (direct memory access) it is possible to carry out 8-bit wide or 16-bit wide dma transfer for the bulk transfer of ep1. the data bus used is the following: during 8-bit transfer: ad7 to ad0 during 16-bit transfer: d15 tod8, ad7 to ad0 demand transfer and single transfer are supported. the settings of the dma transfer mode and parameters are done using the dma control register and the dma interval register described later in this manual. in the demand transfer mode, the dreq pin is asserted when the reading or writing of a data packet becomes possible. the dreq pin is de-asserted when the transfer of all the data of the receive packets is completed by the external dma controller. therefore, other devices cannot access the local bus during dma transfer. on the other hand, in the single transfer mode, the dreq pin is de-asserted at the end of transfer of the number of bytes (or words) of one transfer, and the other devices can access the local bus during this period. ? ? ? ? power-down by setting the system control register (syscon) to value a0h, the oscillator circuit of the ML60851D can be stopped and the ML60851D enters the power-down state. the ML60851D cannot communicate with the usb bus after the internal oscillations are stopped. in order to communicate with the usb bus after the termination of the power-down state, the internal oscillations should be restarted and the initial settings should be done. therefore, the ML60851D should not be powered down during normal operation. note 1: assertion of the reset signal causes the internal oscillations to be restarted. note 2: in the power-down state, reads and writes to the registers are possible but reads or writes to fifo are not possible.
fedl60851d-01 1 semiconductor ML60851D 72/82 ? ? ? ? control transfer (a) setup stage the setup token and 8 bytes of setup data are transmitted from the host. the ML60851D decodes the setup token, and automatically stores the 8 bytes of setup data in the setup register. when this is completed normally, the ML60851D returns ack to the host. the 8-byte setup data is the standard request code defined in section 9.3 of the usb standards, or a code of the requests unique to each device class, etc. the request is decoded on the local mcu side. (b) data stage if the request specified by the 8-byte setup data is also accompanied by transfer of parameter data from the host to the device, the transfer is a control write transfer, and the out token and the data packet are transmitted from the host. when these are received normally, the ML60851D stores the parameter data in the ep0 receive fifo and returns ack to the host. if the request is accompanied by transfer of parameter data from the device to the host, the transfer is a control read transfer, and when the host sends the in token, the ML60851D sends the parameter data that was already stored beforehand in the ep0 transmit fifo by the local mcu. when the host receives this normally, it returns an ack to the ML60851D. on the other hand, in the case of requests that do not contain any parameter data that need to be transmitted or received, this data stage will not be present and the processing proceeds directly to the status stage from the setup stage. (c) status stage the status stage is a stage intended for reporting the status of the result of executing a request from the device to the host. during a control write transfer or a control transfer without data, the in token is sent by the host, and the ML60851D returns a response to it. during a control read transfer, the out token and data of zero length are sent by the host, and the ML60851D returns a response to it.
fedl60851d-01 1 semiconductor ML60851D 73/82 ? ? ? ? data packet transmission and reception procedure during bulk transfer and interrupt transfer modes the ML60851D is normally used on the peripheral device side. in this method of use, the ML60851D is connected on one side to the host via the usb bus and is connected on the other side via a parallel interface to the local microcontroller (local mcu) inside the peripheral device. the transfer of data is the major function in all types of transfermodes other than the control transfermode. when carrying out transfer of data packets between the ML60851D and the host, the following packet communication is carried out via the usb bus for the data transfer of each packet. (a) token packet transfer (in token or out token) from the host to the ML60851D. (b) data packet transfer in the desired direction (from the host to the device or from the device to the host). (c) transfer of handshake packet in a direction opposite to that of the data packet. when packet transfer is completed normally, an ack packet is returned in step (c) and the operation proceeds to the next packet transfer. the ML60851D requests the local mcu to transmit or receive a packet of data by asserting the intr pin. the interrupt cause will be ?packet ready?. the transmit packet ready interrupt is one that requests that the packet of data to be transmitted be written in the transmit fifo, and the receive packet ready interrupt is one that requests the local mcu to read out the data that has been received and stored in the receive fifo. the above procedures of transferring one packet of data are explained below for transmission and reception separately. 1) during transmission the local mcu writes one packet of data that has to be transmitted in the transmit fifo of the corresponding ep in the ML60851D, and sets the transmit packet ready bit of the corresponding ep status register of the ML60851D. when the host transmits the in token packet to the ML60851D specifying the communication method, etc., the ML60851D transmits to the host the data packet stored in the above transmit fifo. when the host receives one data packet normally, it returns the ack packet to the ML60851D. consequently, the ML60851D resets the transmit packet ready status, thereby completing the transfer of one data packet over the usb bus. when the transmit packet ready status is reset, the ML60851D gives a request to the local mcu in terms of a transmit packet ready interrupt thereby prompting the local mcu to write the next packet of data to be transmitted. 2) during reception the host sends to the ML60851D an out token followed by a data packet. the ML60851D stores the received data packet in the receive fifo of the corresponding ep. when it is confirmed that all the data packets have been accumulated and that there is no error, the ML60851D returns an ack packet to the host. at the same time, the receive packet ready bit of the corresponding ep status register will also be set and a request is sent to the local mcu in terms of an interrupt. upon receiving this interrupt, the local mcu reads out the received data from the ML60851D and resets the receive packet ready bit.
fedl60851d-01 1 semiconductor ML60851D 74/82 ? ? ? ? packets and packet sizes the ML60851D packs the transmit data into packets and unpacks (restores to the original form) the received data. the packed data that is recognized by the software client is a set of data consisting of one or more packets, and this is called an i/o request (irp). among the several packets in an irp, all the packets other than the last packet are transferred with the maximum packet size. only the last packet can be transferred as a "short packet", that is, a packet whose size is less than the maximum packet size. packet 1 i/o re q uest packet ( irp ) maximum packet size packet 2 packet n-1 packet n 1 packet m bytes the ML60851D has payload registers corresponding to each end point, and it is possible to set the maximum packet size for each end point in these registers. the maximum packet size should be within the capacity of the corresponding fifo, and can be set as follows: (1) ep0 receive packet size can be 8 bytes or less; (2) ep0 transmit packet size can be 8 bytes or less; (3) ep1 transmit/receive packet size can be 64 bytes or less; (4) ep2 transmit/receive packet size can be 64 bytes or less; (5) ep3 transmit packet size can be 8 bytes or less; on the usb bus, the separation between successive packets is distinguished by appending a special signal condition called eop (end of packet) at the end of each packet. the appending of eop during transmission and the detection and removal of eop during reception are carried out by the ML60851D automatically. (1) at the time of transmission, the packet is deemed to have ended when the local mcu has completed writing the required number of bytes of data in the transmit fifo and has then asserted the transmit ready status bit. (the actual addition of eop is executed at the time of transmitting the data over the usb bus after waiting for the in token from the host.) the packet will be a short packet if the transmit packet ready status bit is asserted after writing data with less number of bytes than the maximum packet size. in particular, by asserting the transmit packet ready status bit without writing any data, it is possible to form a null packet whose data length is zero.
fedl60851d-01 1 semiconductor ML60851D 75/82 (2) at the time of reception, when an eop is detected in the received data string, the ML60851D recognizes it as the end of the received packet and asserts the receive packet ready status bit. the number of bytes in the received packet is counted automatically in the receive byte count register (note 1) corresponding to that end point. note 1: receive byte count registers
fedl60851d-01 1 semiconductor ML60851D 76/82 ? ? ? ? operation of 2-layer structure fifo during bulk transfer the fifos of ep1 have a 64 bytes x 2-layer structure. as a consequence, these fifos can temporarily store a maximum of 128 bytes of bulk transfer data. (1) 2-layer reception operation (o indicates the assert condition and x indicates de-assert condition) in the case of 1 2 3 4 5a 6 in the case of 1 2 3 4 5b 6 layer a 64 bytes layer b 64 bytes layer a pkt rdy layer b pkt rdy ep1 receive pkt rdy intr 1 start storing data in layer a of reception x x x x 2 data of one packet has been stored. x 3 start reception and storing of data in layer b. x 4 local mcu starts reading layer a. x 5a when the storing of packet in layer b is completed following the completion of reading layer a. 5b when the reading of packet in layer a is completed following the completion of storing data in layer b. xxxx 6 from 5a: layer a has become empty. from 5b: layer b has become full. x 7 starting reading layer b also. x ? when one packet of receive data is stored in layer a of the fifo and eop is received, the ML60851D asserts the packet ready bit of ep1 and also asserts the intr pin. this makes it possible for the local mcu to read the receive data. ? subsequently, data can be received from the host, and the ML60851D switches the fifo for storing to layer b. ? when one packet of data described above has been read from layer a of the fifo, make the local mcu reset the receive packet ready status of ep1 (by writing a ?1? into bit d1 of pktrdy). ? at the time the ep1 receive packet ready status is reset, if the reception of layer b has not been completed, the ML60851D resets the ep1 receive packet ready status and de-asserts the intr pin. ? however, if the reception of layer b has been completed a the time the ep1 receive packet ready status is reset, the ML60851D rejects the request from the local mcu to reset the ep1 receive packet ready status, and continues to maintain the ep1 receive packet ready status and the asserted condition of the intr pin.
fedl60851d-01 1 semiconductor ML60851D 77/82 (2) 2-layer transmission operation (o indicates the assert condition and x indicates de-assert condition) in the case of 1 2 3 4 5a 6 in the case of 1 2 3 4 5b 6 layer a 64 bytes layer b 64 bytes layer a pkt rdy layer b pkt rdy ep1 transmit pkt rdy intr 1 layer a and layer b are both empty. x x x 2 the local mcu starts writing into layer a. x x x 3 writing of one packet is completed. x x 4 the data of layer a is transmitted and the next packet is written in layer b. xx 5a when layer a has become empty after the writing in layer b is completed. x 5b when the writing in layer b has been completed after layer a has become empty. xx x 6 from 5a: layer a has become empty. from 5b: layer b has become full. xx 7 transmission of layer b is also started. x x ? if the ep1 transmit packet ready interrupt enable bit has been asserted, the transmit fifo is empty, and ep1 transmit packet ready bit is de-asserted, the ep1 transmit packet ready interrupt is asserted. this makes it possible to write the transmit data into the ep1 transmit fifo. ? when the data of one packet is written in layer a fifo, make the local mcu set the transmit packet ready status. by setting the transmit packet ready status, it becomes possible to transmit data to the host. at this time, since layer b is still empty, the intr pin maintains the asserted condition, thereby indicating that the next packet data can be written. in this case, although bit d5 of pktrdy remains in the ?0? condition, the ML60851D recognizes that transmission is possible from layer a and starts transmission when an in token is received from the host. ? it is possible for the local mcu to write the next packet of transmit data in the layer b fifo while the data in layer a is being transmitted over the usb bus. ? when the writing of the data to be transmitted in layer b has been completed, the local mcu sets the transmit packet ready bit, and the intr pin becomes de-asserted at this time if the transmission of layer a data has not been completed (that is, the ack message is received from the host and the transmit packet ready bit is reset). the local mcu cannot yet write the subsequent packet.) ? if the layer a becomes empty before layer b goes into the transmit enable condition and transmission is carried out normally, the ack response is received from the host. the intr pin remains asserted, and the local mcu can write data into layer a fifo after writing into layer b fifo. ? the transmission of data in layer a is continued from the state 4a, and when layer a becomes empty and the transmission is completed normally, the ack response is received from the host, whereupon the ML60851D asserts the intr pin thereby prompting the local mcu to write data into layer a.
fedl60851d-01 1 semiconductor ML60851D 78/82 ? ? ? ? error processing and retry operation 1) error processing during transmission when an error such as a crc error is detected in the data transmitted by the ML60851D, the host will not send the ack packet, and hence the ML60851D does not reset the transmit packet ready status, but waits while retaining the current packet of data. the current packet of data is transmitted again when the next in token is received from the host. 2) error processing during reception when an error is detected in the data received over the usb bus, the ML60851D does not assert the interrupt signal to the local mcu and will also not send any message to the host (leading to a timeout condition). when the timeout condition is generated, the host recognizes that an error has occurred, and can take measures such as re-transmitting the data, etc. in addition, since no interrupt request is generated, the local mcu will not read the erroneous data.
ML60851D ? semiconductor 79/82 pedl60851d-01 example of oscillator circuit ? oscillation circuit example 1 ML60851D rf c3 c2 l1 xin xout crystal: hc-49u (kinseki, ltd) c2 = 5 pf c3 = 1000 pf rf = 1 m w l1 = 2.2 m h note: the example shown above is not guaranteed for circuit operation. ? oscillation circuit example 2 ML60851D rf xin xout ceramic oscillator: cstcm4800mxxxx (murata mfg.) cstcw4800mx41xxx (c-built-in type) note: the example shown above is not guaranteed for circuit operation.
ML60851D ? semiconductor 80/82 pedl60851d-01 (unit : mm) package dimensions notes for mounting the surface mount type package the surface mount type packages are very susceptible to heat in reflow mounting and humidity absorbed in storage. therefore, before you perform reflow mounting, contact okis responsible sales person for the product name, package name, pin number, package code and desired mounting conditions (reflow method, temperature and times). package material lead frame material pin treatment solder plate thickness package weight (g) epoxy resin 42 alloy solder plating 5 m m or more 0.41 typ. qfp44-p-910-0.80-2k mirror finish
ML60851D ? semiconductor 81/82 pedl60851d-01 (unit : mm) notes for mounting the surface mount type package the surface mount type packages are very susceptible to heat in reflow mounting and humidity absorbed in storage. therefore, before you perform reflow mounting, contact okis responsible sales person for the product name, package name, pin number, package code and desired mounting conditions (reflow method, temperature and times). tqfp44-p-1010-0.80-k package material lead frame material pin treatment solder plate thickness package weight (g) epoxy resin 42 alloy solder plating 5 m m or more 0.28 typ. mirror finish
fedl60851d-01 1 semiconductor ML60851D 82/82 notice 1. the information contained herein can change without notice owing to product and/or technical improvements. before using the product, please make sure that the information being referred to is up-to-date. 2. the outline of action and examples for application circuits described herein have been chosen as an explanation for the standard action and performance of the product. when planning to use the product, please ensure that the external conditions are reflected in the actual circuit, assembly, and program designs. 3. when designing your product, please use our product below the specified maximum ratings and within the specified operating ranges including, but not limited to, operating voltage, power dissipation, and operating temperature. 4. oki assumes no responsibility or liability whatsoever for any failure or unusual or unexpected operation resulting from misuse, neglect, improper installation, repair, alteration or accident, improper handling, or unusual physical or electrical stress including, but not limited to, exposure to parameters beyond the specified maximum ratings or operation outside the specified operating range. 5. neither indemnity against nor license of a third party?s industrial and intellectual property right, etc. is granted by us in connection with the use of the product and/or the information and drawings contained herein. no responsibility is assumed by us for any infringement of a third party?s right which may result from the use thereof. 6. the products listed in this document are intended for use in general electronics equipment for commercial applications (e.g., office automation, communication equipment, measurement equipment, consumer electronics, etc.). these products are not authorized for use in any system or application that requires special or enhanced quality and reliability characteristics nor in any system or application where the failure of such system or application may result in the loss or damage of property, or death or injury to humans. such applications include, but are not limited to, traffic and automotive equipment, safety devices, aerospace equipment, nuclear power control, medical equipment, and life-support systems. 7. certain products in this document may need government approval before they can be exported to particular countries. the purchaser assumes the responsibility of determining the legality of export of these products and will take appropriate and necessary steps at their own expense for these. 8. no part of the contents contained herein may be reprinted or reproduced without our prior permission. copyright 2000 oki electric industry co., ltd.


▲Up To Search▲   

 
Price & Availability of ML60851D

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X